package me.plusne.common.Http;

import com.xuexiang.xhttp2.annotation.NetMethod;
import io.reactivex.Observable;
import me.plusne.common.Json.JsonHelp;
import me.plusne.common.Json.JsonHomeAppList;
import me.plusne.common.Json.JsonHomeAppVersionList;
import me.plusne.common.Json.JsonHomeAppVersionSetList;
import me.plusne.common.Json.JsonIssueCheck;
import me.plusne.common.Json.JsonMsg;
import me.plusne.common.Json.JsonPick;
import me.plusne.common.Json.JsonQueryUser;
import me.plusne.common.Json.JsonUpdateApp;

public interface Home {
    @NetMethod(paramType = 2, parameterNames = {"token", "qq"}, url = "To/bindInfo")
    Observable<JsonMsg> bindInfo(String str, String str2);

    @NetMethod(paramType = 2, url = "To/checkAppVersion")
    Observable<JsonUpdateApp> checkAppVersion();

    @NetMethod(paramType = 2, parameterNames = {"email", "code"}, url = "To/forgot")
    Observable<JsonMsg> forgot(String str, String str2);

    @NetMethod(paramType = 2, parameterNames = {"pre"}, url = "To/getAppVersionList")
    Observable<JsonHomeAppVersionList> getAppVersionList(String str);

    @NetMethod(paramType = 2, parameterNames = {"pre", "code"}, url = "To/getAppVersionSetList")
    Observable<JsonHomeAppVersionSetList> getAppVersionSetList(String str, String str2);

    @NetMethod(paramType = 2, url = "To/index")
    Observable<JsonHomeAppList> getSetList();

    @NetMethod(paramType = 2, parameterNames = {"desc", "name", "url", "app", "token"}, url = "To/issue")
    Observable<JsonMsg> issue(String str, String str2, String str3, String str4, String str5);

    @NetMethod(paramType = 2, parameterNames = {"user", "pass", "newPass"}, url = "To/passwordPass")
    Observable<JsonMsg> passwordPass(String str, String str2, String str3);

    @NetMethod(paramType = 2, parameterNames = {"token", "num"}, url = "To/pickWinner")
    Observable<JsonMsg> pickWinner(String str, int i);

    @NetMethod(paramType = 2, parameterNames = {"id"}, url = "To/queryHelp")
    Observable<JsonHelp> queryHelp(int i);

    @NetMethod(paramType = 2, parameterNames = {"token", "id"}, url = "To/queryPick")
    Observable<JsonPick> queryPick(String str, long j);

    @NetMethod(paramType = 2, parameterNames = {"token"}, url = "To/queryUserInfo")
    Observable<JsonQueryUser> queryUserInfo(String str);

    @NetMethod(paramType = 2, parameterNames = {"token", "id", "redeemUser"}, url = "To/redeemPrize")
    Observable<Boolean> redeemPrize(String str, long j, String str2);

    @NetMethod(paramType = 2, parameterNames = {"user", "pass", "email", "code", "qq", "recUser"}, url = "To/reg")
    Observable<JsonMsg> reg(String str, String str2, String str3, String str4, String str5, String str6);

    @NetMethod(paramType = 2, parameterNames = {"user", "email", "type"}, url = "To/send")
    Observable<JsonMsg> sendCode(String str, String str2, int i);

    @NetMethod(paramType = 2, parameterNames = {"user", "pass", "email", "qq", "reg"}, url = "To/regSendNew")
    Observable<JsonMsg> sendCodeNew(String str, String str2, String str3, String str4, String str5);

    @NetMethod(paramType = 2, parameterNames = {"token", "name"}, url = "To/setName")
    Observable<JsonMsg> setName(String str, String str2);

    @NetMethod(paramType = 2, parameterNames = {"user", "pass"}, url = "To/userCheck")
    Observable<JsonIssueCheck> userCheck(String str, String str2);
}
